package com.ipay.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 支付交易订单流水（支付、退款）
 * 
 * @author hacken
 * @email hacken_hu@163.com
 * @date 2017-06-13 20:11:53
 */
public class PayorderEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	//
	private String id;
	// 订单号
	private String recordno;
	// 订单创建时间
	private Date orderdate;
	// 来源（0 微信、1 支付宝）
	private String resource;
	private String resourceVue;
	// 商户ID
	private String busid;
	//收款码编号
	private String codeNo;
	//支付渠道id
	private String paychannelId;
	// 类型（0 支付 1 退款）
	private String category;
	/** 交易状态 */
	private String tradeState;
	// 支付状态（0 未知 1 已付款 2 已退款 3 已对账 4 已关闭）
	private String status;
	// 退款类型（0 部分 1 全额）
	private String refundtype;
	// 金额
	private BigDecimal amount;
	// 银行标识
	private String banksigns;
	// 退款时对应的交易订单ID
	private String orderid;
	// 备注
	private String remark;
	/** 支付微信号 */
	private String openid;
	/*微信openid*/
	private String wxOpenid;

	/** 支付结果：0—成功；其它—失败 */
	private Integer payResult;

	/** 平台订单号 */
	private String transactionId;

	/** 支付完成时间，格式为yyyyMMddHHmmss */
	private String timeEnd;

	/** 银行类型 */
	private String bankType;
	private String bankTypeVue;
	/** 订单生成的机器 IP */
	private String mchCreateIp;
	/** 订单超时时间 */
	private Date timeoutdate;
	/** 平台退款单号 */
	private String refundId;
	/** 退款渠道(ORIGINAL—原路退款，默认) */
	private String refundChannel;
	// 退款时间
	private String refundTime;
	// 签约汇率
	private BigDecimal payRate;
	// 手续费
	private BigDecimal serviceCharge;
	// 结算金额
	private BigDecimal settlementAmount;

	// 支付备注
	private String payremark;
	// 扫码支付授权码， 设备读取用户展示的条码或者二维码信息
	private String authCode;
	//发起方式（0公众号；1扫码支付；3刷卡支付;4第三方pc端）
	private String launchMode;

	private String notifyUrl;/////回调地址
	private String sponsorOrderNo;//发起方订单号

	//展现使用
	private String name;//收款员名称
	private String codeName;///二维码名称
	private String shopname;//店铺名称

	private BigDecimal todayAmount;//今日交易金额
	private BigDecimal refybdAmount;//退款金额

	private String wxNickName;//付款人微信昵称




	//查询使用，订单创建时间的时间段
	/**
	 * @author lanxiaofang
	 * @date 2017/12/25
	 * */
	private String orderdateBegin;//开始时间
	private String orderdateEnd;//结束时间

	public String getOrderdateBegin() {
		return orderdateBegin;
	}

	public void setOrderdateBegin(String orderdateBegin) {
		this.orderdateBegin = orderdateBegin;
	}

	public String getOrderdateEnd() {
		return orderdateEnd;
	}

	public void setOrderdateEnd(String orderdateEnd) {
		this.orderdateEnd = orderdateEnd;
	}

	public String getWxNickName() {
		return wxNickName;
	}

	public void setWxNickName(String wxNickName) {
		this.wxNickName = wxNickName;
	}

	/**
	 * 获取 id
	 * 
	 * @return id id
	 */
	public String getId() {
		return id;
	}

	/**
	 * 设置id
	 * 
	 * @param id
	 *            id
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 设置：订单号
	 */
	public void setRecordno(String recordno) {
		this.recordno = recordno;
	}

	/**
	 * 获取：订单号
	 */
	public String getRecordno() {
		return recordno;
	}

	/**
	 * 设置：订单创建时间
	 */
	public void setOrderdate(Date orderdate) {
		this.orderdate = orderdate;
	}

	/**
	 * 获取：订单创建时间
	 */
	public Date getOrderdate() {
		return orderdate;
	}

	/**
	 * 设置：来源（0 微信、1 支付宝）
	 */
	public void setResource(String resource) {
		this.resource = resource;
	}

	/**
	 * 获取：来源（0 微信、1 支付宝）
	 */
	public String getResource() {
		return resource;
	}

	/**
	 * 获取 商户ID
	 * 
	 * @return busid busid
	 */
	public String getBusid() {
		return busid;
	}

	/**
	 * 设置 商户ID
	 * 
	 * @param busid
	 *            busid
	 */
	public void setBusid(String busid) {
		this.busid = busid;
	}

	/**
	 * 设置：类型（0 支付 1 退款）
	 */
	public void setCategory(String category) {
		this.category = category;
	}

	/**
	 * 获取：类型（0 支付 1 退款）
	 */
	public String getCategory() {
		return category;
	}

	/**
	 * 设置：支付状态（0 未知 1 已付款 2 已退款 3 已对账 4 已关闭）
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * 获取：支付状态（0 未知 1 已付款 2 已退款 3 已对账 4 已关闭）
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * 设置：退款类型（0 部分 1 全额）
	 */
	public void setRefundtype(String refundtype) {
		this.refundtype = refundtype;
	}

	/**
	 * 获取：退款类型（0 部分 1 全额）
	 */
	public String getRefundtype() {
		return refundtype;
	}

	/**
	 * 设置：金额
	 */
	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	/**
	 * 获取：金额
	 */
	public BigDecimal getAmount() {
		return amount;
	}

	/**
	 * 设置：银行标识
	 */
	public void setBanksigns(String banksigns) {
		this.banksigns = banksigns;
	}

	/**
	 * 获取：银行标识
	 */
	public String getBanksigns() {
		return banksigns;
	}

	/**
	 * 设置：退款时对应的交易订单ID
	 */
	public void setOrderid(String orderid) {
		this.orderid = orderid;
	}

	/**
	 * 获取：退款时对应的交易订单ID
	 */
	public String getOrderid() {
		return orderid;
	}

	/**
	 * 设置：备注
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 获取：备注
	 */
	public String getRemark() {
		return remark;
	}

	/**
	 * 获取 支付微信号
	 * 
	 * @return openid 支付微信号
	 */
	public String getOpenid() {
		return openid;
	}

	/**
	 * 设置支付微信号
	 * 
	 * @param openid
	 *            支付微信号
	 */
	public void setOpenid(String openid) {
		this.openid = openid;
	}


	/**
	 * 获取 平台订单号
	 * 
	 * @return transactionId 平台订单号
	 */
	public String getTransactionId() {
		return transactionId;
	}

	/**
	 * 设置平台订单号
	 * 
	 * @param transactionId
	 *            平台订单号
	 */
	public void setTransactionId(String transactionId) {
		this.transactionId = transactionId;
	}


	public String getCodeNo() {
		return codeNo;
	}

	public void setCodeNo(String codeNo) {
		this.codeNo = codeNo;
	}

	public String getPaychannelId() {
		return paychannelId;
	}

	public void setPaychannelId(String paychannelId) {
		this.paychannelId = paychannelId;
	}

	public String getWxOpenid() {
		return wxOpenid;
	}

	public void setWxOpenid(String wxOpenid) {
		this.wxOpenid = wxOpenid;
	}

	public String getMchCreateIp() {
		return mchCreateIp;
	}

	public void setMchCreateIp(String mchCreateIp) {
		this.mchCreateIp = mchCreateIp;
	}

	public String getBankType() {
		return bankType;
	}

	public void setBankType(String bankType) {
		this.bankType = bankType;
	}

	public Date getTimeoutdate() {
		return timeoutdate;
	}

	public void setTimeoutdate(Date timeoutdate) {
		this.timeoutdate = timeoutdate;
	}

	public String getRefundId() {
		return refundId;
	}

	public void setRefundId(String refundId) {
		this.refundId = refundId;
	}

	public String getRefundChannel() {
		return refundChannel;
	}

	public void setRefundChannel(String refundChannel) {
		this.refundChannel = refundChannel;
	}

	public String getRefundTime() {
		return refundTime;
	}

	public void setRefundTime(String refundTime) {
		this.refundTime = refundTime;
	}

	public BigDecimal getPayRate() {
		return payRate;
	}

	public void setPayRate(BigDecimal payRate) {
		this.payRate = payRate;
	}

	public BigDecimal getServiceCharge() {
		return serviceCharge;
	}

	public void setServiceCharge(BigDecimal serviceCharge) {
		this.serviceCharge = serviceCharge;
	}

	public BigDecimal getSettlementAmount() {
		return settlementAmount;
	}

	public void setSettlementAmount(BigDecimal settlementAmount) {
		this.settlementAmount = settlementAmount;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getCodeName() {
		return codeName;
	}

	public void setCodeName(String codeName) {
		this.codeName = codeName;
	}

	public String getShopname() {
		return shopname;
	}

	public void setShopname(String shopname) {
		this.shopname = shopname;
	}

	public String getResourceVue() {
		return resourceVue;
	}

	public void setResourceVue(String resourceVue) {
		this.resourceVue = resourceVue;
	}

	public String getBankTypeVue() {
		return bankTypeVue;
	}

	public void setBankTypeVue(String bankTypeVue) {
		this.bankTypeVue = bankTypeVue;
	}

	public BigDecimal getRefybdAmount() {
		return refybdAmount;
	}

	public void setRefybdAmount(BigDecimal refybdAmount) {
		this.refybdAmount = refybdAmount;
	}

	public BigDecimal getTodayAmount() {
		return todayAmount;
	}

	public void setTodayAmount(BigDecimal todayAmount) {
		this.todayAmount = todayAmount;
	}

	public String getPayremark() {
		return payremark;
	}

	public void setPayremark(String payremark) {
		this.payremark = payremark;
	}

	public String getAuthCode() {
		return authCode;
	}

	public void setAuthCode(String authCode) {
		this.authCode = authCode;
	}

	public String getLaunchMode() {
		return launchMode;
	}

	public void setLaunchMode(String launchMode) {
		this.launchMode = launchMode;
	}

	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}

	public String getSponsorOrderNo() {
		return sponsorOrderNo;
	}

	public void setSponsorOrderNo(String sponsorOrderNo) {
		this.sponsorOrderNo = sponsorOrderNo;
	}

	public String getTradeState() {
		return tradeState;
	}

	public void setTradeState(String tradeState) {
		this.tradeState = tradeState;
	}

	public Integer getPayResult() {
		return payResult;
	}

	public void setPayResult(Integer payResult) {
		this.payResult = payResult;
	}
}
